//! StorytellingScript.debug.js
//

(function($) {

Type.registerNamespace('StorytellingScript');

////////////////////////////////////////////////////////////////////////////////
// StorytellingScript.Chat

window.configurarChat = function StorytellingScript_Chat$configurarChat() {
    $('#chatResizable').resizable({ containment: 'parent' });
    autocompletar('Acao');
    autocompleteAcoes('/Personagem/MeusPersonagens', 'meuPersonagem', function(dictionary) {
    });
    autocompleteAcoes('/Personagem/MeusEquipamentos', 'meuEquipamento', function(dictionary) {
        dictionary['id'] = $('#meuPersonagemAutocomplete_0').val();
    });
}
window.autocompleteAcoes = function StorytellingScript_Chat$autocompleteAcoes(url, inputId, action) {
    /// <param name="url" type="String">
    /// </param>
    /// <param name="inputId" type="String">
    /// </param>
    /// <param name="action" type="System.Action`1">
    /// </param>
    var dictionary = {};
    var inputText = $(String.format('#{0}', inputId));
    var inputHidden = $(String.format('#{0}Autocomplete_0', inputId));
    inputText.autocomplete({ source: function(request, response) {
        dictionary['nome'] = request.term;
        action(dictionary);
        var options = {};
        options.url = url;
        options.type = 'POST';
        options.dataType = 'json';
        options.data = dictionary;
        options.success = function(data, textStatus, httpRequest) {
            response($.map(data, function(item, key) {
                return { label: item.Nome, value: item.Id };
            }));
        };
        $.ajax(options);
    }, focus: function(e, ui) {
        inputText.val(ui.item.label.toString());
        return false;
    }, select: function(e, ui) {
        inputHidden.val(ui.item.value.toString());
        return false;
    } });
    inputText.bind('focus', function(e) {
        if (inputHidden.length > 0 && inputHidden.val() !== '0') {
            inputText.val('');
            inputHidden.val('0');
        }
    });
}
window.carregarChat = function StorytellingScript_Chat$carregarChat() {
    carregarChatUrl('/Home/Chat');
}
window.carregarChatUrl = function StorytellingScript_Chat$carregarChatUrl(url) {
    /// <param name="url" type="String">
    /// </param>
    var options = {};
    options.url = url;
    options.type = 'POST';
    options.success = function(data, textStatus, httpRequest) {
        var chat = $('#chat');
        $.each(data, function(name, value) {
            var tipo = value.Tipo;
            if (tipo === 1) {
                chat.html(String.format('<fieldset> <legend>{0} {1}</legend> <table width="100%"> <thead> <tr> <th>Sucessos: {2}</th> <th>Dados: {3}</th> <th>Explos\u00e3o: {4}</th> <th>Anulador: {5}</th> </tr> </thead> </table> <textarea class="TextAreaJogada" wrap="soft" readonly="readonly">{6}</textarea> </fieldset> {7}', value.NomeUsuario, value.Ocorrido, value.Sucessos, value.Dados, value.Explosao, (!!value.Anulador) ? 'Sim' : 'N\u00e3o', value.Resultado, chat.html()));
            }
            else if (!tipo) {
                var sinal = value.SinalModificador;
                chat.html(String.format('<fieldset> <legend>{0} {1}</legend> <table width="100%"> <thead> <tr> <th>Personagem: {2}</th> <th>A\u00e7\u00e3o: {3}</th> <th>Equipamento: {4}</th> <th>Modificador: {5}{6}</th> </tr> <tr> <th>Sucessos: {7}</th> <th>Dados: {8}</th> <th>Explos\u00e3o: {9}</th> <th>Anulador: {10}</th> </tr> </thead> </table> <textarea class="TextAreaJogada" wrap="soft" readonly="readonly">{11}</textarea> </fieldset> {12}', value.NomeUsuario, value.Ocorrido, value.Personagem, value.Acao, value.Equipamento, (!ss.isNullOrUndefined(sinal)) ? ((!!sinal) ? '+' : '-') : '', value.Modificador, value.Sucessos, value.Dados, value.Explosao, (!!value.Anulador) ? 'Sim' : 'N\u00e3o', value.Resultado, chat.html()));
            }
            else {
                var jogadoresBuilder = new ss.StringBuilder();
                $.each(value.Colecao, function(nameJogador, valueJogador) {
                    var itemBuilder = new ss.StringBuilder();
                    $.each(valueJogador.Value, function(nameItem, valueItem) {
                        itemBuilder.append(String.format('<li type="circle">{0}</li>', valueItem));
                    });
                    jogadoresBuilder.append(String.format('<li>{0}<ul>{1}</ul></li>', valueJogador.Key, itemBuilder));
                });
                chat.html(String.format('<fieldset> <legend>{0} {1}</legend> <ul>{2}</ul> </fieldset> {3}', value.NomeUsuario, value.Ocorrido, jogadoresBuilder, chat.html()));
            }
        });
        window.setTimeout(carregarChat, 3000);
    };
    $.ajax(options);
}
window.inicioEnvioChat = function StorytellingScript_Chat$inicioEnvioChat() {
    $('#chatTabs').block({ message: '<h1>Aguarde</h1>' });
    $('.InputResetar').val('0');
    esconderChat();
}
window.fimEnvioChat = function StorytellingScript_Chat$fimEnvioChat() {
    $('#chatTabs').unblock();
    aparecerChat();
}
window.aparecerChat = function StorytellingScript_Chat$aparecerChat() {
    $('#chat').fadeIn();
}
window.esconderChat = function StorytellingScript_Chat$esconderChat() {
    $('#chat').fadeOut();
}
window.bloquearTabGerenciarStatus = function StorytellingScript_Chat$bloquearTabGerenciarStatus() {
    $('#chatTabs').tabs('disable', 2);
}
window.configurarGerenciarStatus = function StorytellingScript_Chat$configurarGerenciarStatus() {
    $('#autoCronica').autocomplete({ source: function(request, response) {
        var options = {};
        options.url = '/Cronica/CronicasPessoal';
        options.type = 'POST';
        options.dataType = 'json';
        options.data = { nome: request.term };
        options.success = function(data, textStatus, httpRequest) {
            response($.map(data, function(item, key) {
                return { label: item.Nome, value: item.Id };
            }));
        };
        $.ajax(options);
    }, focus: function(e, ui) {
        $('#autoCronica').val(ui.item.label.toString());
        return false;
    }, select: function(e, ui) {
        var options = {};
        options.url = '/Personagem/CronicaPersonagens';
        options.type = 'POST';
        options.dataType = 'json';
        options.data = { id: ui.item.value };
        options.success = function(data, textStatus, httpRequest) {
            var tbody = $('#personagens tbody');
            tbody.html('');
            $.each(data, function(indice, value) {
                tbody.append(String.format('<tr> <td> {0}<input name="Personagem[{1}]" type="hidden" value="{2}" /> </td> <td> <input name="VitalidadeSinal[{1}]" type="radio" value="true" checked="checked" />+<input name="VitalidadeSinal[{1}]" type="radio" value="false" />-</td><td> <select name="TipoDano[{1}]" class="InputResetar"> <option value="0">Contus\u00e3o</option> <option value="1">Letal</option> <option value="2">Agravado</option> </select> </td> <td> <input name="VitalidadeValor" type="text" value="0" style="width: 30px" class="InteiroDuasCasa InputResetar" /> </td> <td> <input name="VitalidadeBonus" type="text" value="0" style="width: 30px" class="InteiroDuasCasa" /> </td> <td> <input name="VontadeSinal[{1}]" type="radio" value="true" checked="checked" />+<input name="VontadeSinal[{1}]" type="radio" value="false" />- </td> <td> <input name="VontadeValor" type="text" value="0" style="width: 30px" class="InteiroDuasCasa InputResetar" /> </td> <td> <input name="EnergiaSinal[{1}]" type="radio" value="true" checked="checked" />+<input name="EnergiaSinal[{1}]" type="radio" value="false" />- </td> <td> <input name="EnergiaValor" type="text" value="0" style="width: 30px" class="InteiroDuasCasa InputResetar" /> </td> <td> <input name="ExperienciaSinal[{1}]" type="radio" value="true" checked="checked" />+<input name="ExperienciaSinal[{1}]" type="radio" value="false" />- </td> <td> <input name="ExperienciaValor" type="text" value="0" style="width: 30px" class="InteiroTresCasa InputResetar" /> </td> </tr> ', value.Nome, indice, value.Id));
            });
            aplicarPadrao();
        };
        $.ajax(options);
        return false;
    } });
}


////////////////////////////////////////////////////////////////////////////////
// StorytellingScript.Evolucao

window.configurarEvolucao = function StorytellingScript_Evolucao$configurarEvolucao() {
    $('.fichaTab :input').attr('disabled', 'true');
    $('.LabelEvolucao').each(function(index, element) {
        var comp = $(element);
        comp.bind('click', function(e) {
            comp.fadeOut();
            var id = comp.attr('id').split('_');
            var tipo = '';
            switch (id[0]) {
                case '0':
                    tipo = 'Atributo';
                    break;
                case '1':
                    tipo = 'Habilidade';
                    break;
            }
            var label = comp.find('label');
            $(String.format('#evolucao tr[class=evolucao_{0}_{1}]:last', id[0], id[2])).find('td:nth-child(5)').html('');
            var nivel = $(String.format('#evolucao .evolucao_{0}_{1}', id[0], id[2])).size() + parseInt($(String.format('#{0}', label.attr('for'))).val()) + 1;
            var custo = parseInt(id[1]) * nivel;
            $('#evolucao tbody').append(String.format('<tr class="evolucao_{0}_{1}"> <td> {2} </td> <td> {3} </td> <td> {4} </td> <td> {5} </td> <td> <input type="button" value="X" onclick="excluirEvolucao(this)" /> </td></tr>', id[0], id[2], label.html(), tipo, pontos(nivel), custo));
            var gasto = $('#experienciaGasto');
            gasto.html((parseInt(gasto.html()) + custo).toString());
            calcular();
            var inputEvolucao = $('#inputEvolucao');
            var divEvolucao = inputEvolucao.find(String.format('#divEvolucao_{0}_{1}', id[0], id[2]));
            if (!divEvolucao.length) {
                inputEvolucao.append(String.format('<div id="divEvolucao_{0}_{1}"> <input name="Campos" type="hidden" value="{0}_{1}" /> <input name="Incrementos" type="hidden" value="1" /> </div>', id[0], id[2]));
            }
            else {
                var incrementos = divEvolucao.find('input[name=Incrementos]');
                incrementos.val((parseInt(incrementos.val()) + 1).toString());
            }
            comp.fadeIn();
        });
    });
}
window.excluirEvolucao = function StorytellingScript_Evolucao$excluirEvolucao(element) {
    /// <param name="element" type="Object" domElement="true">
    /// </param>
    var tr = $(element).parent().parent();
    var prop = tr.attr('class');
    var gasto = $('#experienciaGasto');
    gasto.html((parseInt(gasto.html()) - parseInt(tr.find('td:nth-child(4)').html())).toString());
    calcular();
    tr.remove();
    var divEvolucao = $('#inputEvolucao').find(String.format('#divEvolucao{0}', prop.substr(prop.indexOf('_'))));
    var incrementos = divEvolucao.find('input[name=Incrementos]');
    var incrementosValue = parseInt(incrementos.val());
    if (incrementosValue === 1) {
        divEvolucao.remove();
    }
    else {
        incrementos.val((incrementosValue - 1).toString());
    }
    $(String.format('#evolucao tr[class={0}]:last', prop)).find('td:nth-child(5)').html('<input type="button" value="X" onclick="excluirEvolucao(this)" />');
}
window.configurarAutocompleteEvolucao = function StorytellingScript_Evolucao$configurarAutocompleteEvolucao() {
    var url = '';
    var tipo = parseInt($('#selecaoEvolucao').val());
    switch (tipo) {
        case 2:
            url = '/Especializacao/Autocompletar';
            break;
        case 3:
            url = '/Vantagem/Autocompletar';
            break;
    }
    var autoEvolucao = $('#autoEvolucao');
    autoEvolucao.unbind('autocomplete');
    autoEvolucao.autocomplete({ source: function(request, response) {
        var options = {};
        options.url = url;
        options.type = 'POST';
        options.dataType = 'json';
        options.data = { nome: request.term };
        options.success = function(data, textStatus, httpRequest) {
            response($.map(data, function(item, key) {
                return { label: item.Nome, value: item.Id };
            }));
        };
        $.ajax(options);
    }, focus: function(e, ui) {
        autoEvolucao.val(ui.item.label.toString());
        return false;
    }, select: function(e, ui) {
        var custo = 0;
        var tbody = $('#evolucao tbody');
        var quant = $(String.format('#evolucao .evolucao_{0}_{1}', tipo, ui.item.value)).size();
        var inputEvolucao = $('#inputEvolucao');
        var divEvolucao = inputEvolucao.find(String.format('#divEvolucao_{0}_{1}', tipo, ui.item.value));
        var gasto = $('#experienciaGasto');
        switch (tipo) {
            case 2:
                var humanoEspecializacao = $(String.format(".EspecializacoesId[value='{0}']", ui.item.value));
                if (!humanoEspecializacao.length && !quant) {
                    custo = 3;
                    tbody.append(String.format('<tr class="evolucao_{0}_{1}"> <td> {2} </td> <td> {3} </td> <td> {4} </td> <td> {5} </td> <td> <input type="button" value="X" onclick="excluirEvolucao(this)" /> </td></tr>', '2', ui.item.value, ui.item.label, 'Especializa\u00e7\u00e3o', '', custo));
                    inputEvolucao.append(String.format('<div id="divEvolucao_{0}_{1}"> <input name="Campos" type="hidden" value="{0}_{1}" /> <input name="Incrementos" type="hidden" value="1" /> </div>', '2', ui.item.value));
                    gasto.html((parseInt(gasto.html()) + custo).toString());
                    calcular();
                }
                break;
            case 3:
                var nivel = 0;
                var tr = $(String.format('#evolucao tr[class=evolucao_3_{0}]:last', ui.item.value));
                if (!divEvolucao.length) {
                    var humanoVantagem = $(String.format(".VantagensId[value='{0}']", ui.item.value));
                    if (!!humanoVantagem.length) {
                        nivel = parseInt(humanoVantagem.parent().parent().find('select[name=HumanoVantagemVantagemNivel]').val());
                    }
                }
                else {
                    nivel = parseInt(tr.find('td:nth-child(3)').find('input').val());
                }
                var options = {};
                options.url = '/Vantagem/PegarProximoNivelDescontoVantagem';
                options.type = 'POST';
                options.dataType = 'json';
                options.data = { id: parseInt($('input[name=Id]').val()), idVantagem: ui.item.value, nivel: nivel };
                options.success = function(data, textStatus, httpRequest) {
                    var nivelNovo = data.Nivel;
                    if (nivelNovo > nivel) {
                        tr.find('td:nth-child(5)').html('');
                        for (var i = nivel + 1; i <= nivelNovo; i++) {
                            custo += i * ((data.IsDesconto) ? 1 : 2);
                        }
                        tbody.append(String.format('<tr class="evolucao_3_{0}"> <td> {1} </td> <td> Vantagem </td> <td> {2}<input type="hidden" value="{3}" /> </td> <td> {4} </td> <td> <input type="button" value="X" onclick="excluirEvolucao(this)" /> </td></tr>', ui.item.value, ui.item.label, pontos(nivelNovo), nivelNovo, custo));
                        if (!divEvolucao.length) {
                            inputEvolucao.append(String.format('<div id="divEvolucao_{0}_{1}"> <input name="Campos" type="hidden" value="{0}_{1}" /> <input name="Incrementos" type="hidden" value="1" /> </div>', '3', ui.item.value));
                        }
                        else {
                            var incrementos = divEvolucao.find('input[name=Incrementos]');
                            incrementos.val((parseInt(incrementos.val()) + 1).toString());
                        }
                        gasto.html((parseInt(gasto.html()) + custo).toString());
                        calcular();
                        autoEvolucao.autocomplete('search');
                    }
                };
                $.ajax(options);
                break;
        }
        return false;
    } });
}
window.calcular = function StorytellingScript_Evolucao$calcular() {
    $('#experienciaTotal').html((parseInt($('#experienciaAtual').html()) - parseInt($('#experienciaGasto').html())).toString());
}
window.abrirDialogEvolucao = function StorytellingScript_Evolucao$abrirDialogEvolucao() {
    $('#dialogEvolucao').dialog('open');
}


////////////////////////////////////////////////////////////////////////////////
// StorytellingScript.Vampiro

window.configurarAtributosPreferenciais = function StorytellingScript_Vampiro$configurarAtributosPreferenciais() {
    $('#Cla').bind('autocompleteselect', function(e, ui) {
        var options = {};
        options.url = '/Cla/CarregarHeranca';
        options.type = 'POST';
        options.dataType = 'json';
        options.data = { id: ui.item.value };
        options.success = function(data, textStatus, httpRequest) {
            var opcaoUm = $('#opcaoUm');
            var opcaoDois = $('#opcaoDois');
            switch (parseInt(data.toString())) {
                case 0:
                    opcaoUm.html('Destreza');
                    opcaoDois.html('Manipula\u00e7\u00e3o');
                    break;
                case 1:
                    opcaoUm.html('Autocontrole');
                    opcaoDois.html('Vigor');
                    break;
                case 2:
                    opcaoUm.html('Intelig\u00eancia');
                    opcaoDois.html('Racioc\u00ednio');
                    break;
                case 3:
                    opcaoUm.html('Autocontrole');
                    opcaoDois.html('For\u00e7a');
                    break;
                case 4:
                    opcaoUm.html('Presen\u00e7a');
                    opcaoDois.html('Perseveran\u00e7a');
                    break;
            }
        };
        $.ajax(options);
        return false;
    });
}
window.configurarEvolucaoVampiro = function StorytellingScript_Vampiro$configurarEvolucaoVampiro() {
    var comp = $('#LabelEvolucaoPenalidadeVontade');
    comp.bind('click', function(e) {
        comp.fadeOut();
        var label = comp.find('label');
        $(String.format('#evolucao tr[class=evolucao_4_1]:last')).find('td:nth-child(5)').html('');
        var custo = 8;
        $('#evolucao tbody').append(String.format('<tr class="evolucao_{0}_{1}"> <td> {2} </td> <td> {3} </td> <td> {4} </td> <td> {5} </td> <td> <input type="button" value="X" onclick="excluirEvolucao(this)" /> </td></tr>', '4', '1', label.html(), '', '', custo));
        var gasto = $('#experienciaGasto');
        gasto.html((parseInt(gasto.html()) + custo).toString());
        calcular();
        var inputEvolucao = $('#inputEvolucao');
        var divEvolucao = inputEvolucao.find('#divEvolucao_4_1');
        if (!divEvolucao.length) {
            inputEvolucao.append(String.format('<div id="divEvolucao_{0}_{1}"> <input name="Campos" type="hidden" value="{0}_{1}" /> <input name="Incrementos" type="hidden" value="1" /> </div>', '4', '1'));
        }
        else {
            var incrementos = divEvolucao.find('input[name=Incrementos]');
            incrementos.val((parseInt(incrementos.val()) + 1).toString());
        }
        comp.fadeIn();
    });
}
window.configurarAutocompleteEvolucaoVampiro = function StorytellingScript_Vampiro$configurarAutocompleteEvolucaoVampiro() {
    var url = '';
    var tipo = parseInt($('#selecaoEvolucao').val());
    switch (tipo) {
        case 5:
            url = '/Devocao/Autocompletar';
            break;
        case 6:
            url = '/Disciplina/Autocompletar';
            break;
        case 7:
            url = '/Ritual/Autocompletar';
            break;
    }
    var autoEvolucao = $('#autoEvolucao');
    autoEvolucao.unbind('autocomplete');
    autoEvolucao.autocomplete({ source: function(request, response) {
        var options = {};
        options.url = url;
        options.type = 'POST';
        options.dataType = 'json';
        options.data = { nome: request.term };
        options.success = function(data, textStatus, httpRequest) {
            response($.map(data, function(item, key) {
                return { label: item.Nome, value: item.Id };
            }));
        };
        $.ajax(options);
    }, focus: function(e, ui) {
        autoEvolucao.val(ui.item.label.toString());
        return false;
    }, select: function(e, ui) {
        var options = {};
        var inputEvolucao = $('#inputEvolucao');
        var quant = $(String.format('#evolucao .evolucao_{0}_{1}', tipo, ui.item.value)).size();
        var gasto = $('#experienciaGasto');
        switch (tipo) {
            case 5:
                options.url = '/Devocao/CustoExperiencia';
                options.type = 'POST';
                options.dataType = 'json';
                options.data = { id: ui.item.value };
                options.success = function(data, textStatus, httpRequest) {
                    var vampiroDevocao = $(String.format(".DevocoesId[value='{0}']", ui.item.value));
                    if (!vampiroDevocao.length && !quant) {
                        $('#evolucao tbody').append(String.format('<tr class="evolucao_{0}_{1}"> <td> {2} </td> <td> {3} </td> <td> {4} </td> <td> {5} </td> <td> <input type="button" value="X" onclick="excluirEvolucao(this)" /> </td></tr>', '5', ui.item.value, ui.item.label, 'Devo\u00e7\u00e3o', '', data));
                        inputEvolucao.append(String.format('<div id="divEvolucao_{0}_{1}"> <input name="Campos" type="hidden" value="{0}_{1}" /> <input name="Incrementos" type="hidden" value="1" /> </div>', '5', ui.item.value));
                        gasto.html((parseInt(gasto.html()) + data).toString());
                        calcular();
                    }
                };
                break;
            case 6:
                options.url = '/Cla/DisciplinaFamiliar';
                options.type = 'POST';
                options.dataType = 'json';
                options.data = { id: parseInt($('input[name=ClaValor]').val()), idDisciplina: ui.item.value };
                options.success = function(data, textStatus, httpRequest) {
                    var nivel = 0;
                    var agrupamento = 0;
                    var extra = 0;
                    $(String.format('#evolucao tr[class=evolucao_6_{0}]:last', ui.item.value)).find('td:nth-child(5)').html('');
                    var vampiroDisciplina = $(String.format(".DisciplinasId[value='{0}']", ui.item.value));
                    var tbody = $('#evolucao tbody');
                    if (!!vampiroDisciplina.length) {
                        nivel = parseInt(vampiroDisciplina.parent().parent().find('input[name=VampiroDisciplinaNiveis]').val());
                        agrupamento = parseInt(vampiroDisciplina.attr('agrupamento'));
                        if (agrupamento > 0) {
                            $.each($(String.format(".DisciplinasId[agrupamento='{0}']", agrupamento)), function(name, value) {
                                extra += parseInt($(value).parent().parent().find('input[name=VampiroDisciplinaNiveis]').val());
                            });
                            extra -= nivel;
                            extra += tbody.find(String.format("tr[agrupamento='{0}']", agrupamento)).size();
                        }
                    }
                    var custo = (nivel + extra + quant + 1) * ((data) ? 5 : 7);
                    tbody.append(String.format('<tr class="evolucao_6_{0}" agrupamento="{1}"> <td> {2} </td> <td> Disciplina </td> <td> {3} </td> <td> {4} </td> <td> <input type="button" value="X" onclick="excluirEvolucao(this)" /> </td></tr>', ui.item.value, agrupamento, ui.item.label, pontos(nivel + quant + 1), custo));
                    var divEvolucao = inputEvolucao.find(String.format('#divEvolucao_6_{0}', ui.item.value));
                    if (!divEvolucao.length) {
                        inputEvolucao.append(String.format('<div id="divEvolucao_{0}_{1}"> <input name="Campos" type="hidden" value="{0}_{1}" /> <input name="Incrementos" type="hidden" value="1" /> </div>', '6', ui.item.value));
                    }
                    else {
                        var incrementos = divEvolucao.find('input[name=Incrementos]');
                        incrementos.val((parseInt(incrementos.val()) + 1).toString());
                    }
                    gasto.html((parseInt(gasto.html()) + custo).toString());
                    calcular();
                    autoEvolucao.autocomplete('search');
                };
                break;
            case 7:
                options.url = '/Ritual/CustoExperiencia';
                options.type = 'POST';
                options.dataType = 'json';
                options.data = { id: ui.item.value, idVampiro: parseInt($('input[name=Id]').val()) };
                options.success = function(data, textStatus, httpRequest) {
                    var vampiroRitual = $(String.format(".RituaisId[value='{0}']", ui.item.value));
                    if (!vampiroRitual.length && !quant) {
                        var nivel = data.Nivel;
                        if (nivel > 0) {
                            var custo = 0;
                            var disciplinaId = data.DisciplinaId;
                            var tbody = $('#evolucao tbody');
                            if (!(data.IsGratis) || tbody.find(String.format("tr[categoriaRitual='{0}_{1}']", disciplinaId, nivel)).size() > 0) {
                                custo = nivel * 2;
                            }
                            tbody.append(String.format('<tr class="evolucao_7_{0}" categoriaRitual="{1}_{2}"> <td> {3} </td> <td> Ritual </td> <td> {4} </td> <td> {5} </td> <td> <input type="button" value="X" onclick="excluirEvolucao(this)" /> </td></tr>', ui.item.value, disciplinaId, nivel, ui.item.label, pontos(nivel), custo));
                            inputEvolucao.append(String.format('<div id="divEvolucao_{0}_{1}"> <input name="Campos" type="hidden" value="{0}_{1}" /> <input name="Incrementos" type="hidden" value="1" /> </div>', '7', ui.item.value));
                            gasto.html((parseInt(gasto.html()) + custo).toString());
                            calcular();
                        }
                    }
                };
                break;
        }
        $.ajax(options);
        return false;
    } });
}


////////////////////////////////////////////////////////////////////////////////
// StorytellingScript.Global

window.aplicarPadrao = function StorytellingScript_Global$aplicarPadrao() {
    var body = $('body');
    body.css('display', 'none');
    body.fadeIn(1000);
    $('.Transicao').click(function(e) {
        body.fadeOut(1000);
    });
    $('.DataTable').dataTable({ bPaginate: true, bFilter: false, sPaginationType: 'full_numbers', sDom: 'RC<"clear">lfrtip', aoColumnDefs: [ { aTargets: [ 1 ] } ], oColVis: { buttonText: 'Exibir/Ocultar colunas' }, oLanguage: { sLengthMenu: 'Mostrar _MENU_ registros por p&aacutegina', sZeroRecords: 'Nada foi encontrado', sInfo: 'Mostrando _START_ &agrave _END_ de _TOTAL_ registros', sInfoEmpty: 'Mostrando 0 &agrave 0 de 0 registros', sInfoFiltered: '(Filtrado por _MAX_ total de registros)', oPaginate: { sFirst: 'Primeiro', sLast: '&Uacuteltimo', sPrevious: 'Anterior', sNext: 'Pr&oacuteximo' } } });
    $('.Tabs').tabs();
    $('.Dialog').dialog({ autoOpen: false, closeText: '', resizable: false, Height: '400', Width: '800', minHeight: '400', minWidth: '800', maxHeight: '400', maxWidth: '800' });
    var dictionary = { placeholder: ' ' };
    var dictionaryAtributo = { placeholder: '1' };
    var dictionaryHabilidade = { placeholder: '0' };
    $('.InteiroUmaCasa').mask('9', dictionary);
    $('.InteiroDuasCasa').mask('9?9', dictionary);
    $('.InteiroTresCasa').mask('9?99', dictionary);
    $('.InteiroAtributo').each(function(index, element) {
        var campo = $(element);
        campo.mask('9', dictionaryAtributo);
        if (!campo.val()) {
            campo.val('1');
        }
    });
    $('.InteiroHabilidade').each(function(index, element) {
        var campo = $(element);
        campo.mask('9', dictionaryHabilidade);
        if (!campo.val()) {
            campo.val('0');
        }
    });
}
window.autocompletar = function StorytellingScript_Global$autocompletar(controlador) {
    /// <param name="controlador" type="String">
    /// </param>
    $(String.format('.Autocompletar{0}', controlador)).each(function(index, element) {
        var formElementName = $(element).attr('name');
        var hiddenElementID = String.format('{0}Autocomplete_{1}', formElementName, index);
        $(element).autocomplete({ source: function(request, response) {
            var options = {};
            options.url = String.format('/{0}/Autocompletar', controlador);
            options.type = 'POST';
            options.dataType = 'json';
            options.data = { nome: request.term };
            options.success = function(data, textStatus, httpRequest) {
                response($.map(data, function(item, key) {
                    return { label: item.Nome, value: item.Id };
                }));
            };
            $.ajax(options);
        }, focus: function(e, ui) {
            $(element).val(ui.item.label.toString());
            return false;
        }, select: function(e, ui) {
            $(element).val(ui.item.label.toString());
            var inputHidden = $(String.format('#{0}', hiddenElementID));
            if (!inputHidden.length) {
                $(element).after(String.format('<input type="hidden" name="{0}Valor" id="{1}" value="{2}" />', formElementName, hiddenElementID, ui.item.value));
            }
            else {
                inputHidden.val(ui.item.value.toString());
            }
            return false;
        } });
    });
}
window.limparAutocompletar = function StorytellingScript_Global$limparAutocompletar(autocompletar) {
    /// <param name="autocompletar" type="String">
    /// </param>
    $(String.format('#{0}', autocompletar)).val('');
    var valor = $(String.format('#{0}Autocomplete_0', autocompletar));
    if (!!valor.length) {
        valor.val('0');
    }
}
window.pontos = function StorytellingScript_Global$pontos(quant) {
    /// <param name="quant" type="Number" integer="true">
    /// </param>
    /// <returns type="String"></returns>
    var stringBuilder = new ss.StringBuilder();
    for (var i = 0; i < quant; i++) {
        stringBuilder.append('\u25cf');
    }
    return stringBuilder.toString();
}
window.configurarVantagemNivel = function StorytellingScript_Global$configurarVantagemNivel() {
    $('.AutocompletarVantagem').each(function(index, element) {
        var vantagem = $(element);
        var vantagemNivel = vantagem.parent().parent().find(':input[name=HumanoVantagemVantagemNivel]');
        vantagem.bind('autocompleteselect', function(e, ui) {
            var options = {};
            options.url = '/Vantagem/CarregarVantagemNiveis';
            options.type = 'POST';
            options.dataType = 'json';
            options.data = { id: ui.item.value };
            options.success = function(data, textStatus, httpRequest) {
                vantagemNivel.html('');
                $.each(data, function(name, value) {
                    vantagemNivel.append(String.format('<option value="{0}">{1}</option>', value, pontos(parseInt(value.toString()))));
                });
            };
            $.ajax(options);
            return false;
        });
        vantagemNivel.bind('focus', function(e) {
            var options = {};
            options.url = '/Vantagem/CarregarVantagemNiveis';
            options.type = 'POST';
            options.dataType = 'json';
            options.data = { id: vantagemNivel.parent().parent().find(':input[name=HumanoVantagemVantagemValor]').val() };
            options.success = function(data, textStatus, httpRequest) {
                var valor = vantagemNivel.val();
                vantagemNivel.html('');
                $.each(data, function(name, value) {
                    vantagemNivel.append(String.format('<option value="{0}">{1}</option>', value, pontos(parseInt(value.toString()))));
                });
                vantagemNivel.val(valor);
            };
            $.ajax(options);
        });
    });
}
window.clonar = function StorytellingScript_Global$clonar(idDiv) {
    /// <param name="idDiv" type="String">
    /// </param>
    var contador = $(String.format('#contador_{0}', idDiv));
    var div = $(String.format('#{0}', idDiv)).clone().attr('id', String.format('{0}_{1}', idDiv, contador.val()));
    div.html(String.format("<fieldset> <legend align=\"right\"><input type=\"button\" value=\"X\" onclick=\"removerClone('{0}',{1})\" /></legend> {2} </fieldset> ", idDiv, contador.val(), div.html()));
    div.insertBefore(String.format('#cloneHidden_{0}', idDiv));
    contador.val((parseInt(contador.val()) + 1).toString());
    aplicarPadrao();
    aplicarPosClone();
}
window.excluirRemoverClone = function StorytellingScript_Global$excluirRemoverClone(idDiv, index, entidade, idEntidade) {
    /// <param name="idDiv" type="String">
    /// </param>
    /// <param name="index" type="Number" integer="true">
    /// </param>
    /// <param name="entidade" type="String">
    /// </param>
    /// <param name="idEntidade" type="Number" integer="true">
    /// </param>
    $(String.format('<input name="LixeiraEntidade" type="hidden" value="{0}_{1}" />', entidade, idEntidade)).insertBefore(String.format('#contador_{0}', idDiv));
    removerClone(idDiv, index);
}
window.removerClone = function StorytellingScript_Global$removerClone(idDiv, index) {
    /// <param name="idDiv" type="String">
    /// </param>
    /// <param name="index" type="Number" integer="true">
    /// </param>
    var contador = $(String.format('#contador_{0}', idDiv));
    $(String.format('#{0}_{1}', idDiv, index)).remove();
    contador.val((parseInt(contador.val()) - 1).toString());
}
window.exibir = function StorytellingScript_Global$exibir(element, comp, rotuloEsconder, rotuloAparecer) {
    /// <param name="element" type="Object" domElement="true">
    /// </param>
    /// <param name="comp" type="String">
    /// </param>
    /// <param name="rotuloEsconder" type="String">
    /// </param>
    /// <param name="rotuloAparecer" type="String">
    /// </param>
    if (element.innerHTML === rotuloEsconder) {
        element.innerHTML = rotuloAparecer;
    }
    else {
        element.innerHTML = rotuloEsconder;
    }
    $(String.format('#{0}', comp)).toggle('slow');
}
window.excluirItemGrid = function StorytellingScript_Global$excluirItemGrid(url) {
    /// <param name="url" type="String">
    /// </param>
    if (confirm('Deseja excluir esse item?')) {
        redirecionar(url);
    }
}
window.redirecionar = function StorytellingScript_Global$redirecionar(url) {
    /// <param name="url" type="String">
    /// </param>
    var body = $('body');
    body.fadeOut(1000, function() {
        window.location.href = url;
    });
}
window.visualizar = function StorytellingScript_Global$visualizar(url) {
    /// <param name="url" type="String">
    /// </param>
    window.location.href = url;
}
window.rolarTopo = function StorytellingScript_Global$rolarTopo() {
    $('html, body').animate({ scrollTop: '0px' });
}
window.rolarFundo = function StorytellingScript_Global$rolarFundo() {
    $('html, body').animate({ scrollTop: $(document).height() });
}
window.aplicarFacebook = function StorytellingScript_Global$aplicarFacebook() {
    var script = 'script';
    var id = 'facebook-jssdk';
    var fjs = window.document.getElementsByTagName(script)[0];
    if (!!window.document.getElementById(id)) {
        return;
    }
    var js = window.document.createElement(script);
    js.id = id;
    js.src = '//connect.facebook.net/pt_BR/all.js#xfbml=1';
    fjs.parentNode.insertBefore(js, fjs);
}
window.aplicarGoogle = function StorytellingScript_Global$aplicarGoogle() {
    var script = 'script';
    window.self.___gcfg={ lang: 'pt-BR' };
    var po = window.document.createElement(script);
    po.type = 'text/javascript';
    po.async=true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = window.document.getElementsByTagName(script)[0];
    s.parentNode.insertBefore(po, s);
}


})(jQuery);

//! This script was generated using Script# v0.7.4.0
